package br.com.abelha.manager.db;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.database.Cursor;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import br.com.abelha.manager.entity.FichaB;
import br.com.abelha.manager.entity.FichaBCOMPATEGRU;
import br.com.abelha.manager.entity.FichaBCOMPMATR;
import br.com.abelha.manager.entity.FichaBCrianca;
import br.com.abelha.manager.entity.FichaBDIA;
import br.com.abelha.manager.entity.FichaBGES;
import br.com.abelha.manager.entity.FichaBHA;
import br.com.abelha.manager.entity.FichaBHAN;
import br.com.abelha.manager.entity.FichaBINT;
import br.com.abelha.manager.entity.FichaBOBI;
import br.com.abelha.manager.entity.FichaBPRR;
import br.com.abelha.manager.entity.FichaBTP;
import br.com.abelha.manager.entity.FichaDAux;
import br.com.abelha.manager.entity.FichaDEnf;
import br.com.abelha.manager.entity.FichaDMed;

/**
 * @author dalsonsouza
 */

public class DAOFichaB<T extends FichaB> {

	private DBAdapter dbAdapter;

	public DAOFichaB(Context context) {
		dbAdapter = new DBAdapter(context).open();
	}

	public Cursor listAllCursor(String idFichaA, FichaB o) {

		String selection = FichaB.ID_FICHAA + "=?";
		String[] selectionArgs = new String[]{idFichaA};
		
		return getCursor(selection, selectionArgs, o);
		
	}

	public Cursor getCursor(String selection, String[] selectionArgs, FichaB o) {
		Cursor cursor = dbAdapter.query(o.getTableName(), 
				null , 
				selection, 
				selectionArgs, 
				null, 
				null);

		return cursor;
	}

	public long insert(FichaB fichaB) throws Throwable {

		long id = 0;

		try {

			dbAdapter.beginTransaction();

			Object[] contents = new Object[100];

			contents[0] = FichaB.ID;
			contents[1] = null;
			contents[2] = FichaB.ID_FICHAA;
			contents[3] = fichaB.getId_fichaA();
			contents[4] = FichaB.ID_PACIENTE;
			contents[5] = fichaB.getId_paciente();

			selectContent(contents, fichaB);
			id = dbAdapter.insert(fichaB.getTableName(), contents);

			dbAdapter.setTransactionSuccessful();

		} catch (Throwable e) {
			Log.e(this.getClass().getName(), "Error", e);
			throw e;

		} finally {
			dbAdapter.endTransaction();
		}

		return id;
	}


	public int update(FichaB fichaB) throws Throwable {

		int id = 0;
		try {
			dbAdapter.beginTransaction();

			String[] whereArgs = new String[]{String.valueOf(fichaB.getId())};

			Object[] contents = new Object[100];
			contents[0] = FichaB.ID;
			contents[1] = null;
			contents[2] = FichaB.ID_FICHAA;
			contents[3] = fichaB.getId_fichaA();
			contents[4] = FichaB.ID_PACIENTE;
			contents[5] = fichaB.getId_paciente();

			selectContent(contents, fichaB);

			id = dbAdapter.update(fichaB.getTableName(), FichaB.ID + "=?", whereArgs, contents);

			dbAdapter.setTransactionSuccessful();
		} catch (Throwable e) {
			Log.e(this.getClass().getName(), "Error", e);
			throw e;
		} finally {
			dbAdapter.endTransaction();
		}

		return id;
	}

	public int delete(FichaB fichaB) throws Throwable {

		int id = 0;
		try {
			dbAdapter.beginTransaction();
			
			String[] whereArgs = new String[]{String.valueOf(fichaB.getId_paciente())};
			id = dbAdapter.delete(fichaB.getTableName(), FichaB.ID_PACIENTE + "=?", whereArgs);

			dbAdapter.setTransactionSuccessful();
			
		} catch (Throwable e) {
			Log.e(this.getClass().getName(), "Error", e);
			throw e;
		} finally {
			dbAdapter.endTransaction();
		}

		return id;
	}

	public FichaB get(FichaB fichaB) {
		String[] selectionArgs = new String[]{String.valueOf(fichaB.getId())};
		String[] columns = this.getColumns(fichaB);
		Cursor cursor = dbAdapter.query(fichaB.getTableName(), 
				columns, 
				FichaB.ID + "=?", 
				selectionArgs, 
				null, 
				null);

		if(cursor == null) {
			fichaB = null;

		} else {
			cursor.moveToFirst();
			fichaB = getFields(cursor, fichaB);

			if(!cursor.isClosed()) cursor.close();
		}

		return fichaB;
	}

	private String[] getColumns(FichaB fichaB) {

		String[] columns = new String[100];
		if (fichaB instanceof FichaBCrianca) {
			columns = new String[]{FichaBCrianca.ID, FichaBCrianca.ID_FICHAA, FichaBCrianca.ID_PACIENTE, FichaBCrianca.ALEITAMENTO,FichaBCrianca.DATA_CONSULTA,FichaBCrianca.DIARREIA_TRO,
					FichaBCrianca.DIARREITA, FichaBCrianca.IDADE, FichaBCrianca.OUTROS_TIPOS_ALIMENTO, FichaBCrianca.PESO};

		}

		return columns;
	}

	public List<T> getByFichaA(T fichaB) {
		List<T> list = new ArrayList<T>();
		String[] selectionArgs = new String[]{String.valueOf(fichaB.getId_fichaA())};
		Cursor cursor = dbAdapter.query(fichaB.getTableName(), 
				null , 
				FichaB.ID_FICHAA + "=?", 
				selectionArgs, 
				null, 
				null);

		if(cursor == null) {
			fichaB = null;
		} else {
			if(cursor.moveToFirst()) {
				while(!cursor.isAfterLast()) {
					T ficha = getFields(cursor, fichaB);
					list.add(ficha);
					cursor.moveToNext();
				}
			}

			if(!cursor.isClosed()) cursor.close();
		}

		return list;
	}

	public T getFields(Cursor cursor, FichaB fichaB) {

		if (fichaB instanceof FichaBCOMPATEGRU) {
			fichaB = new FichaBCOMPATEGRU();

			Integer id_profissional = cursor.getInt(cursor.getColumnIndex(FichaBCOMPATEGRU.ID_PROFISSIONAL));
			Integer id_acs = cursor.getInt(cursor.getColumnIndex(FichaBCOMPATEGRU.ID_ACS));
			String local = cursor.getString(cursor.getColumnIndex(FichaBCOMPATEGRU.LOCAL));
			String assunto = cursor.getString(cursor.getColumnIndex(FichaBCOMPATEGRU.ASSUNTO));

			((FichaBCOMPATEGRU) fichaB).setId_profissional(id_profissional);
			((FichaBCOMPATEGRU) fichaB).setId_acs(id_acs);
			((FichaBCOMPATEGRU) fichaB).setLocal(local);
			((FichaBCOMPATEGRU) fichaB).setAssunto(assunto);
		} else if (fichaB instanceof FichaBCOMPMATR) {
			fichaB = new FichaBCOMPMATR();

			Integer id_profissional = cursor.getInt(cursor.getColumnIndex(FichaBCOMPATEGRU.ID_PROFISSIONAL));
			String tipo_ref1 = cursor.getString(cursor.getColumnIndex(FichaBCOMPMATR.TIPO_REF1));
			String tipo_ref2 = cursor.getString(cursor.getColumnIndex(FichaBCOMPMATR.TIPO_REF2));
			String motivo = cursor.getString(cursor.getColumnIndex(FichaBCOMPMATR.MOTIVO));
			String prioridade = cursor.getString(cursor.getColumnIndex(FichaBCOMPMATR.PRIORIDADE));

			((FichaBCOMPMATR) fichaB).setId_profissional(id_profissional);
			((FichaBCOMPMATR) fichaB).setMotivo(motivo);
			((FichaBCOMPMATR) fichaB).setTipo_ref1(tipo_ref1);
			((FichaBCOMPMATR) fichaB).setTipo_ref2(tipo_ref2);
			((FichaBCOMPMATR) fichaB).setPrioridade(prioridade);
		} else if (fichaB instanceof FichaBDIA) {
			fichaB = new FichaBDIA();

			String dieta = cursor.getString(cursor.getColumnIndex(FichaBDIA.DIETA));
			String exercicios = cursor.getString(cursor.getColumnIndex(FichaBDIA.EXERCICIOS));
			String insulina = cursor.getString(cursor.getColumnIndex(FichaBDIA.INSULINA));
			String hipoglicemante = cursor.getString(cursor.getColumnIndex(FichaBDIA.HIPOGLICEMIANTE));
			String dt_ultimaconsulta = cursor.getString(cursor.getColumnIndex(FichaBDIA.DT_ULTIMACONSULTA));
			String data_cadastro = cursor.getString(cursor.getColumnIndex(FichaBDIA.DATA_CADASTRO));

			((FichaBDIA) fichaB).setDieta(dieta);
			((FichaBDIA) fichaB).setExercicios(exercicios);
			((FichaBDIA) fichaB).setInsulina(insulina);
			((FichaBDIA) fichaB).setHipoglicemante(hipoglicemante);
			((FichaBDIA) fichaB).setDt_ultimaconsulta(dt_ultimaconsulta);
			((FichaBDIA) fichaB).setData_cadastro(data_cadastro);
		} else if (fichaB instanceof FichaBHA) {
			fichaB = new FichaBHA();

			String dieta = cursor.getString(cursor.getColumnIndex(FichaBDIA.DIETA));
			String medicacao = cursor.getString(cursor.getColumnIndex(FichaBDIA.DIETA));
			String exercicios = cursor.getString(cursor.getColumnIndex(FichaBDIA.EXERCICIOS));
			String pressao_arterial = cursor.getString(cursor.getColumnIndex(FichaBHA.PRESSAO_ARTERIAL));
			String data_consulta = cursor.getString(cursor.getColumnIndex(FichaBHA.DATA_CONSULTA));
			String data_cadastro = cursor.getString(cursor.getColumnIndex(FichaBHA.DATA_CADASTRO));

			((FichaBHA) fichaB).setDieta(dieta);
			((FichaBHA) fichaB).setMedicacao(medicacao);
			((FichaBHA) fichaB).setExercicios(exercicios);
			((FichaBHA) fichaB).setPressao_arterial(pressao_arterial);
			((FichaBHA) fichaB).setData_consulta(data_consulta);
			((FichaBHA) fichaB).setData_cadastro(data_cadastro);
		} 
		else if (fichaB instanceof FichaBINT) {
			fichaB = new FichaBINT();	
			
			String permanece = cursor.getString(cursor.getColumnIndex(FichaBINT.PERMANECE));
			String data_interna_inicio = cursor.getString(cursor.getColumnIndex(FichaBINT.DATA_INICIO));
			String data_interna_final = cursor.getString(cursor.getColumnIndex(FichaBINT.DATA_FIM));
			String dias_internados = cursor.getString(cursor.getColumnIndex(FichaBINT.DIAS_INTER));
			String local_internacao = cursor.getString(cursor.getColumnIndex(FichaBINT.LOCAL));
			String causa = cursor.getString(cursor.getColumnIndex(FichaBINT.CAUSA_INTER));
			

			((FichaBINT) fichaB).setPermanece(permanece);
			((FichaBINT) fichaB).setData_inicio(data_interna_inicio);
			((FichaBINT) fichaB).setData_fim(data_interna_final);
			((FichaBINT) fichaB).setDias_inter(new Integer(dias_internados));
			((FichaBINT) fichaB).setLocal(local_internacao);
			((FichaBINT) fichaB).setCausa_inter(causa);
		} 
		else if (fichaB instanceof FichaBTP) {
			fichaB = new FichaBTP();
			
			String medicacao = cursor.getString(cursor.getColumnIndex(FichaBTP.MEDICAOCAO_DIARIA));
			String reacao = cursor.getString(cursor.getColumnIndex(FichaBTP.REACOES_INDESEJAVEIS));
			String escarro = cursor.getString(cursor.getColumnIndex(FichaBTP.ESCARRO));
			String comunicantes = cursor.getString(cursor.getColumnIndex(FichaBTP.COMUNICANTES));
			String comunicantes_menor_5 = cursor.getString(cursor.getColumnIndex(FichaBTP.COMUNICANTES_5ANOS));
			

			((FichaBTP) fichaB).setMedicaocao_diaria(medicacao);
			((FichaBTP) fichaB).setReacoes_indesejaveis(reacao);
			((FichaBTP) fichaB).setEscarro(escarro);
			((FichaBTP) fichaB).setComunicantes(new Integer(comunicantes));
			((FichaBTP) fichaB).setComunicantes_5anos(new Integer(comunicantes_menor_5));
			
		}else if (fichaB instanceof FichaBHAN) {
			fichaB = new FichaBHAN();

			String medicacao_diaria = cursor.getString(cursor.getColumnIndex(FichaBHAN.MEDICACAO_DIARIA));
			String dt_dose_supervisionada = cursor.getString(cursor.getColumnIndex(FichaBHAN.DT_DOSE_SUPERVISIONADA));
			String auto_cuidados = cursor.getString(cursor.getColumnIndex(FichaBHAN.AUTO_CUIDADOS));
			String dt_ultima_consulta = cursor.getString(cursor.getColumnIndex(FichaBHAN.DT_ULTIMA_CONSULTA));
			Integer comunicantes = cursor.getInt(cursor.getColumnIndex(FichaBHAN.COMUNICANTES));
			Integer comunicantes_bcg = cursor.getInt(cursor.getColumnIndex(FichaBHAN.COMUNICANTES_BCG));

			((FichaBHAN) fichaB).setMedicacao_diaria(medicacao_diaria);
			((FichaBHAN) fichaB).setDt_dose_supervisionada(dt_dose_supervisionada);
			((FichaBHAN) fichaB).setAuto_cuidados(auto_cuidados);
			((FichaBHAN) fichaB).setDt_ultima_consulta(dt_ultima_consulta);
			((FichaBHAN) fichaB).setComunicantes(comunicantes);
			((FichaBHAN) fichaB).setComunicantes_bcg(comunicantes_bcg);
		} else if (fichaB instanceof FichaBINT) {
			fichaB = new FichaBINT();

			String data_inicio = cursor.getString(cursor.getColumnIndex(FichaBINT.DATA_INICIO));
			String data_fim = cursor.getString(cursor.getColumnIndex(FichaBINT.DATA_FIM));
			Integer dias_inter = cursor.getInt(cursor.getColumnIndex(FichaBINT.DIAS_INTER));
			String permanece = cursor.getString(cursor.getColumnIndex(FichaBINT.PERMANECE));
			String local = cursor.getString(cursor.getColumnIndex(FichaBINT.LOCAL));
			String cidade = cursor.getString(cursor.getColumnIndex(FichaBINT.CIDADE));
			String causa_inter = cursor.getString(cursor.getColumnIndex(FichaBINT.CAUSA_INTER));

			((FichaBINT) fichaB).setData_inicio(data_inicio);
			((FichaBINT) fichaB).setData_fim(data_fim);
			((FichaBINT) fichaB).setDias_inter(dias_inter);
			((FichaBINT) fichaB).setPermanece(permanece);
			((FichaBINT) fichaB).setLocal(local);
			((FichaBINT) fichaB).setCidade(cidade);
			((FichaBINT) fichaB).setCausa_inter(causa_inter);
		} else if (fichaB instanceof FichaBOBI) {
			fichaB = new FichaBOBI();

			String data = cursor.getString(cursor.getColumnIndex(FichaBOBI.DATA));
			String local = cursor.getString(cursor.getColumnIndex(FichaBOBI.LOCAL));
			String causa = cursor.getString(cursor.getColumnIndex(FichaBOBI.CAUSA));
			String n_declaracao = cursor.getString(cursor.getColumnIndex(FichaBOBI.N_DECLARACAO));

			((FichaBOBI) fichaB).setData(data);
			((FichaBOBI) fichaB).setLocal(local);
			((FichaBOBI) fichaB).setCausa(causa);
			((FichaBOBI) fichaB).setN_declaracao(n_declaracao);

		} else if (fichaB instanceof FichaBHAN) {
			fichaB = new FichaBHAN();
			
			String medicacao_diaria = cursor.getString(cursor.getColumnIndex(FichaBHAN.MEDICACAO_DIARIA));
			String autocuidado = cursor.getString(cursor.getColumnIndex(FichaBHAN.AUTO_CUIDADOS));
			String datadose = cursor.getString(cursor.getColumnIndex(FichaBHAN.DT_DOSE_SUPERVISIONADA));
			String dataconsulta = cursor.getString(cursor.getColumnIndex(FichaBHAN.DT_ULTIMA_CONSULTA));
			String comunicantes_bcg = cursor.getString(cursor.getColumnIndex(FichaBHAN.COMUNICANTES_BCG));
			String comunicantes = cursor.getString(cursor.getColumnIndex(FichaBHAN.COMUNICANTES));


			((FichaBHAN) fichaB).setMedicacao_diaria(medicacao_diaria);
			((FichaBHAN) fichaB).setAuto_cuidados(autocuidado);
			((FichaBHAN) fichaB).setDt_dose_supervisionada(datadose);
			((FichaBHAN) fichaB).setDt_ultima_consulta(dataconsulta);
			((FichaBHAN) fichaB).setComunicantes(new Integer(comunicantes));
			((FichaBHAN) fichaB).setComunicantes_bcg(new Integer(comunicantes_bcg));
			
		}else if (fichaB instanceof FichaBCrianca) {
			fichaB = new FichaBCrianca();

			String aleitamento = cursor.getString(cursor.getColumnIndex(FichaBCrianca.ALEITAMENTO));
			String data_consulta = cursor.getString(cursor.getColumnIndex(FichaBCrianca.DATA_CONSULTA));
			String diarreia = cursor.getString(cursor.getColumnIndex(FichaBCrianca.DIARREITA));
			String diarreia_tro = cursor.getString(cursor.getColumnIndex(FichaBCrianca.DIARREIA_TRO));
			String idade = cursor.getString(cursor.getColumnIndex(FichaBCrianca.IDADE));
			String outros_tipo_alimento = cursor.getString(cursor.getColumnIndex(FichaBCrianca.OUTROS_TIPOS_ALIMENTO));
			String peso = cursor.getString(cursor.getColumnIndex(FichaBCrianca.PESO));

			((FichaBCrianca) fichaB).setAleitamento(aleitamento);
			((FichaBCrianca) fichaB).setData_consulta(data_consulta);
			((FichaBCrianca) fichaB).setDiarreia(diarreia);
			((FichaBCrianca) fichaB).setDiarreia_tro(diarreia_tro);
			((FichaBCrianca) fichaB).setIdade(idade);
			((FichaBCrianca) fichaB).setOutros_tipo_alimento(outros_tipo_alimento);
			((FichaBCrianca) fichaB).setPeso(peso);

		} else if (fichaB instanceof FichaBDIA) {
			fichaB = new FichaBCrianca();

			String dieta = cursor.getString(cursor.getColumnIndex(FichaBDIA.DIETA));
			String data_consulta = cursor.getString(cursor.getColumnIndex(FichaBDIA.DT_ULTIMACONSULTA));
			String exercicios = cursor.getString(cursor.getColumnIndex(FichaBDIA.EXERCICIOS));
			String insulina = cursor.getString(cursor.getColumnIndex(FichaBDIA.INSULINA));
			String hipoglicemiante = cursor.getString(cursor.getColumnIndex(FichaBDIA.HIPOGLICEMIANTE));


			((FichaBDIA) fichaB).setDieta(dieta);
			((FichaBDIA) fichaB).setDt_ultimaconsulta(data_consulta);
			((FichaBDIA) fichaB).setExercicios(exercicios);
			((FichaBDIA) fichaB).setInsulina(insulina);
			((FichaBDIA) fichaB).setHipoglicemante(hipoglicemiante);


		} 
		else if (fichaB instanceof FichaBHA) {
			fichaB = new FichaBCrianca();

			
			String fumante = cursor.getString(cursor.getColumnIndex(FichaBHA.FUMANTE));
			String dieta = cursor.getString(cursor.getColumnIndex(FichaBHA.DIETA));
			String medicacao = cursor.getString(cursor.getColumnIndex(FichaBHA.MEDICACAO));
			String exercicios = cursor.getString(cursor.getColumnIndex(FichaBHA.EXERCICIOS));
			String pressao = cursor.getString(cursor.getColumnIndex(FichaBHA.PRESSAO_ARTERIAL));
			String dataconsulta = cursor.getString(cursor.getColumnIndex(FichaBHA.DATA_CONSULTA));
			


			((FichaBHA) fichaB).setFumante(fumante);
			((FichaBHA) fichaB).setDieta(dieta);
			((FichaBHA) fichaB).setMedicacao(medicacao);
			((FichaBHA) fichaB).setExercicios(exercicios);			
			((FichaBHA) fichaB).setPressao_arterial(pressao);
			((FichaBHA) fichaB).setData_consulta(dataconsulta);


		}else if (fichaB instanceof FichaBPRR) {
			fichaB = new FichaBPRR();

			Integer id_profissional = cursor.getInt(cursor.getColumnIndex(FichaBPRR.ID_PROFISSIONAL));
			String compartilhada = cursor.getString(cursor.getColumnIndex(FichaBPRR.COMPARTILHADA));
			Integer id_prof_comp = cursor.getInt(cursor.getColumnIndex(FichaBPRR.ID_PROF_COMP));
			String diagnosticop = cursor.getString(cursor.getColumnIndex(FichaBPRR.DIAGNOSTICOP));
			String diagnosticos = cursor.getString(cursor.getColumnIndex(FichaBPRR.DIAGNOSTICOS));
			String procedimentos = cursor.getString(cursor.getColumnIndex(FichaBPRR.PROCEDIMENTOS));
			String dados_compl = cursor.getString(cursor.getColumnIndex(FichaBPRR.DADOS_COMPL));

			((FichaBPRR) fichaB).setId_profissional(id_profissional);
			((FichaBPRR) fichaB).setCompartilhada(compartilhada);
			((FichaBPRR) fichaB).setId_prof_comp(id_prof_comp);
			((FichaBPRR) fichaB).setDiagnosticop(diagnosticop);
			((FichaBPRR) fichaB).setDiagnosticos(diagnosticos);
			((FichaBPRR) fichaB).setProcedimentos(procedimentos);
			((FichaBPRR) fichaB).setDados_compl(dados_compl);
		} else if (fichaB instanceof FichaBTP) {
			fichaB = new FichaBTP();

			String medicaocao_diaria = cursor.getString(cursor.getColumnIndex(FichaBTP.MEDICAOCAO_DIARIA));
			String reacoes_indesejaveis = cursor.getString(cursor.getColumnIndex(FichaBTP.REACOES_INDESEJAVEIS));
			String dt_ultima_consulta = cursor.getString(cursor.getColumnIndex(FichaBTP.DT_ULTIMA_CONSULTA));
			String escarro = cursor.getString(cursor.getColumnIndex(FichaBTP.ESCARRO));
			Integer comunicantes = cursor.getInt(cursor.getColumnIndex(FichaBTP.COMUNICANTES));
			Integer comunicantes_5anos = cursor.getInt(cursor.getColumnIndex(FichaBTP.COMUNICANTES_5ANOS));

			((FichaBTP) fichaB).setMedicaocao_diaria(medicaocao_diaria);
			((FichaBTP) fichaB).setReacoes_indesejaveis(reacoes_indesejaveis);
			((FichaBTP) fichaB).setDt_ultima_consulta(dt_ultima_consulta);
			((FichaBTP) fichaB).setEscarro(escarro);
			((FichaBTP) fichaB).setComunicantes(comunicantes);
			((FichaBTP) fichaB).setComunicantes_5anos(comunicantes_5anos);
		} 
		else if (fichaB instanceof FichaDAux) {
			fichaB = new FichaDAux();

			String medicaocao_diaria = cursor.getString(cursor.getColumnIndex(FichaBTP.MEDICAOCAO_DIARIA));
			String reacoes_indesejaveis = cursor.getString(cursor.getColumnIndex(FichaBTP.REACOES_INDESEJAVEIS));
			String dt_ultima_consulta = cursor.getString(cursor.getColumnIndex(FichaBTP.DT_ULTIMA_CONSULTA));
			String escarro = cursor.getString(cursor.getColumnIndex(FichaBTP.ESCARRO));
			Integer comunicantes = cursor.getInt(cursor.getColumnIndex(FichaBTP.COMUNICANTES));
			Integer comunicantes_5anos = cursor.getInt(cursor.getColumnIndex(FichaBTP.COMUNICANTES_5ANOS));

			((FichaBTP) fichaB).setMedicaocao_diaria(medicaocao_diaria);
			((FichaBTP) fichaB).setReacoes_indesejaveis(reacoes_indesejaveis);
			((FichaBTP) fichaB).setDt_ultima_consulta(dt_ultima_consulta);
			((FichaBTP) fichaB).setEscarro(escarro);
			((FichaBTP) fichaB).setComunicantes(comunicantes);
			((FichaBTP) fichaB).setComunicantes_5anos(comunicantes_5anos);
		} 

		else if (fichaB instanceof FichaDAux) {
			fichaB = new FichaDAux();

			String procedimento = cursor.getString(cursor.getColumnIndex(FichaDAux.ID_FICHADPROC));
			
			((FichaDAux) fichaB).setIdFichaDProcedimento(new Integer(procedimento));

		} 
		
		else if (fichaB instanceof FichaDEnf) {
			fichaB = new FichaDAux();

			String procedimentos = cursor.getString(cursor.getColumnIndex(FichaDEnf.ID_FICHADPROCENF));
			String chkpuericultura = cursor.getString(cursor.getColumnIndex(FichaDEnf.PUERICULTURA));
			String chkprenatal_1_trim = cursor.getString(cursor.getColumnIndex(FichaDEnf.PRE_NATAL1));
			String chkprenatal_2_trim = cursor.getString(cursor.getColumnIndex(FichaDEnf.PRE_NATAL2));
			String chkprenatal_3_trim = cursor.getString(cursor.getColumnIndex(FichaDEnf.PRE_NATAL3));
			String chkprevencao_cancer = cursor.getString(cursor.getColumnIndex(FichaDEnf.PREVENCAO_CANCER));
			String chkdiabetes_diagnostico = cursor.getString(cursor.getColumnIndex(FichaDEnf.DIABETES_DIAGNOTICOS));
			String chkdiabetes_acompanhamento = cursor.getString(cursor.getColumnIndex(FichaDEnf.DIABETES_ACOMPANHAMENTO));
			String chk_dst = cursor.getString(cursor.getColumnIndex(FichaDEnf.DST));
			String chk_aids = cursor.getString(cursor.getColumnIndex(FichaDEnf.AIDS));
			String chk_ha = cursor.getString(cursor.getColumnIndex(FichaDEnf.HIPERTENSAO_ARTERIAL));
			String chk_ham = cursor.getString(cursor.getColumnIndex(FichaDEnf.HANSENIASE));
			String chk_tb = cursor.getString(cursor.getColumnIndex(FichaDEnf.TUBERCULOSE));
			String chk_mulher = cursor.getString(cursor.getColumnIndex(FichaDEnf.MULHER));
			String chk_puerperio = cursor.getString(cursor.getColumnIndex(FichaDEnf.PUERPERIO));
			String chk_consulta_domiciliar = cursor.getString(cursor.getColumnIndex(FichaDEnf.CONSULTA_DOMICILIAR));
			String chk_outros = cursor.getString(cursor.getColumnIndex(FichaDEnf.OUTROS_TIPOS));
			String chkpneumonia_menor_5 = cursor.getString(cursor.getColumnIndex(FichaDEnf.PNEUMONIA_MENOR5));
			String chk_valvulopatia = cursor.getString(cursor.getColumnIndex(FichaDEnf.VALVULOPATIA_REUM));
			String chk_infarto_agudo = cursor.getString(cursor.getColumnIndex(FichaDEnf.INFARTO_AGUDO));
			String chk_dheg = cursor.getString(cursor.getColumnIndex(FichaDEnf.DHEG));
			String chk_doenca_perinatal = cursor.getString(cursor.getColumnIndex(FichaDEnf.DOENCA_PERINATAL));
			String chk_fratura_menor_50 = cursor.getString(cursor.getColumnIndex(FichaDEnf.FRATURA_FEMUR_50));
			String chk_meningite_tuberculosa = cursor.getString(cursor.getColumnIndex(FichaDEnf.MENINGITE_TUBERCULOSA));
			String chk_hanseniase_incapacidade = cursor.getString(cursor.getColumnIndex(FichaDEnf.HANSENIASE_INCAPAC));
			String chk_citologia = cursor.getString(cursor.getColumnIndex(FichaDEnf.CITOLOGIA_ONC));
			

			//((FichaDEnf) fichaB).setIdFichaDEnf(newprocedimentos));
			((FichaDEnf) fichaB).setPuericultura(new Integer(chkpuericultura));
			((FichaDEnf) fichaB).setPre_natal1(new Integer(chkprenatal_1_trim));
			((FichaDEnf) fichaB).setPre_natal2(new Integer(chkprenatal_2_trim));
			((FichaDEnf) fichaB).setPre_natal3(new Integer(chkprenatal_3_trim));
			((FichaDEnf) fichaB).setPrevencao_cancer(new Integer(chkprevencao_cancer));
			((FichaDEnf) fichaB).setDiabetes_diagnoticos(new Integer(chkdiabetes_diagnostico));
			((FichaDEnf) fichaB).setDiabetes_acompanhamento(new Integer(chkdiabetes_acompanhamento));
			((FichaDEnf) fichaB).setDst(new Integer(chk_dst));
			((FichaDEnf) fichaB).setAids(new Integer(chk_aids));
			((FichaDEnf) fichaB).setPrevencao_cancer(new Integer(chkprevencao_cancer));
			
			((FichaDEnf) fichaB).setHipertensao_arterial(new Integer(chk_ha));
			((FichaDEnf) fichaB).setHanseniase(new Integer(chk_ham));
			((FichaDEnf) fichaB).setTuberculose(new Integer(chk_tb));
			((FichaDEnf) fichaB).setMulher(new Integer(chk_mulher));			

			((FichaDEnf) fichaB).setPuerperio(new Integer(chk_puerperio));
			((FichaDEnf) fichaB).setConsulta_domiciliar(new Integer(chk_consulta_domiciliar));
			((FichaDEnf) fichaB).setOutros_tipos(new Integer(chk_outros));
			((FichaDEnf) fichaB).setPneumonia_menor5(new Integer(chkpneumonia_menor_5));
			((FichaDEnf) fichaB).setValvulopatia_reum(new Integer(chk_valvulopatia));
			((FichaDEnf) fichaB).setInfarto_agudo(new Integer(chk_infarto_agudo));
			((FichaDEnf) fichaB).setDheg(new Integer(chk_dheg));
			((FichaDEnf) fichaB).setDoenca_perinatal(new Integer(chk_doenca_perinatal));
			((FichaDEnf) fichaB).setFratura_femur_50(new Integer(chk_fratura_menor_50));
			((FichaDEnf) fichaB).setMeningite_tuberculosa(new Integer(chk_meningite_tuberculosa));
			((FichaDEnf) fichaB).setHanseniase_incapac(new Integer(chk_hanseniase_incapacidade));
			((FichaDEnf) fichaB).setCitologia_onc(new Integer(chk_citologia));
		} 
		
		else if (fichaB instanceof FichaDMed) {
			fichaB = new FichaDMed();

			//String procedimentos = cursor.getString(cursor.getColumnIndex(FichaDMed.ID_FICHADPROCENF));
			String chkpuericultura = cursor.getString(cursor.getColumnIndex(FichaDMed.PUERICULTURA));
			String chkprenatal_1_trim = cursor.getString(cursor.getColumnIndex(FichaDMed.PRE_NATAL1));
			String chkprenatal_2_trim = cursor.getString(cursor.getColumnIndex(FichaDMed.PRE_NATAL2));
			String chkprenatal_3_trim = cursor.getString(cursor.getColumnIndex(FichaDMed.PRE_NATAL3));
			String chkprevencao_cancer = cursor.getString(cursor.getColumnIndex(FichaDMed.PREVENCAO_CANCER));
			String chkdiabetes_diagnostico = cursor.getString(cursor.getColumnIndex(FichaDMed.DIABETES_DIAGNOTICOS));
			String chkdiabetes_acompanhamento = cursor.getString(cursor.getColumnIndex(FichaDMed.DIABETES_ACOMPANHAMENTO));
			String chk_dst = cursor.getString(cursor.getColumnIndex(FichaDMed.DST));
			String chk_aids = cursor.getString(cursor.getColumnIndex(FichaDMed.AIDS));
			String chk_ha = cursor.getString(cursor.getColumnIndex(FichaDMed.HIPERTENSAO_ARTERIAL));
			String chk_ham = cursor.getString(cursor.getColumnIndex(FichaDMed.HANSENIASE));
			String chk_tuberculose_novo = cursor.getString(cursor.getColumnIndex(FichaDMed.TUBERCULOSE_CASO_NOVO));
			String chk_tuberculose_acompanhamento = cursor.getString(cursor.getColumnIndex(FichaDMed.TUBERCULOSE_ACOMPANHAMENTO));
			String chk_tuberculose_alta_admin = cursor.getString(cursor.getColumnIndex(FichaDMed.TUBERCULOSE_ALTA_ADMIN));
			String chk_tuberculose_alta_super = cursor.getString(cursor.getColumnIndex(FichaDMed.TUBERCULO_ALTA_SUPERVISIONADA));
			
			String chk_mulher = cursor.getString(cursor.getColumnIndex(FichaDMed.MULHER));
			String chk_puerperio = cursor.getString(cursor.getColumnIndex(FichaDMed.PUERPERIO));

			String chk_fornec_diagragma = cursor.getString(cursor.getColumnIndex(FichaDMed.FORN_DIAFRAGMA));
			String chk_diu = cursor.getString(cursor.getColumnIndex(FichaDMed.FORN_DIAFRAGMA));
			String chk_urgencia_basica_remocao = cursor.getString(cursor.getColumnIndex(FichaDMed.URG_BAS));
			String chk_urgencia_basica = cursor.getString(cursor.getColumnIndex(FichaDMed.URG_BASICAS));
			String chk_urgencia_basica_observacao = cursor.getString(cursor.getColumnIndex(FichaDMed.URG_BAS_OBSERVACAO));

			
			String chk_consulta_domiciliar = cursor.getString(cursor.getColumnIndex(FichaDMed.CONSULTA_DOMICILIAR));
			String chk_outros = cursor.getString(cursor.getColumnIndex(FichaDMed.OUTROS_TIPOS));

			

			String chk_patologia_clinica = cursor.getString(cursor.getColumnIndex(FichaDMed.PATOLOGIA_CLINICA));
			String chk_citopatologia_vaginal = cursor.getString(cursor.getColumnIndex(FichaDMed.CITOPAT_VAGINAL));
			String chk_ultrasson = cursor.getString(cursor.getColumnIndex(FichaDMed.ULTRASSOM_OBSTETRICO));
			String chk_outros_exames = cursor.getString(cursor.getColumnIndex(FichaDMed.OUTROS_EXAMES));
			
			String chk_atend_especializado = cursor.getString(cursor.getColumnIndex(FichaDMed.ATENDIMENTO_ESPECIALIZADO));
			String chk_internacao_hospitalar = cursor.getString(cursor.getColumnIndex(FichaDMed.INTERNACAO_HOSPITALAR));
			String chk_urgencia_emergencia = cursor.getString(cursor.getColumnIndex(FichaDMed.URGENCIA_EMERGENCIA));
			
			
			String chkpneumonia_menor_5 = cursor.getString(cursor.getColumnIndex(FichaDMed.PNEUMONIA_MENOR5));
			String chk_valvulopatia = cursor.getString(cursor.getColumnIndex(FichaDMed.VALVULOPATIA_REUM));
			String chk_infarto_agudo = cursor.getString(cursor.getColumnIndex(FichaDMed.INFARTO_AGUDO));
			String chk_dheg = cursor.getString(cursor.getColumnIndex(FichaDMed.DHEG));
			String chk_doenca_perinatal = cursor.getString(cursor.getColumnIndex(FichaDMed.DOENCA_PERINATAL));
			String chk_fratura_menor_50 = cursor.getString(cursor.getColumnIndex(FichaDMed.FRATURA_FEMUR_50));
			String chk_meningite_tuberculosa = cursor.getString(cursor.getColumnIndex(FichaDMed.MENINGITE_TUBERCULOSA));
			String chk_hanseniase_incapacidade = cursor.getString(cursor.getColumnIndex(FichaDMed.HANSENIASE_INCAPAC));
			String chk_citologia = cursor.getString(cursor.getColumnIndex(FichaDMed.CITOLOGIA_ONC));
			

			//((FichaDMed) fichaB).setIdFichaDMed(newprocedimentos));
			((FichaDMed) fichaB).setPuericultura(new Integer(chkpuericultura));
			((FichaDMed) fichaB).setPre_natal1(new Integer(chkprenatal_1_trim));
			((FichaDMed) fichaB).setPre_natal2(new Integer(chkprenatal_2_trim));
			((FichaDMed) fichaB).setPre_natal3(new Integer(chkprenatal_3_trim));
			((FichaDMed) fichaB).setPrevencao_cancer(new Integer(chkprevencao_cancer));
			((FichaDMed) fichaB).setDiabetes_diagnoticos(new Integer(chkdiabetes_diagnostico));
			((FichaDMed) fichaB).setDiabetes_acompanhamento(new Integer(chkdiabetes_acompanhamento));
			((FichaDMed) fichaB).setDst(new Integer(chk_dst));
			((FichaDMed) fichaB).setAids(new Integer(chk_aids));
			((FichaDMed) fichaB).setPrevencao_cancer(new Integer(chkprevencao_cancer));
			
			((FichaDMed) fichaB).setHipertensao_arterial(new Integer(chk_ha));
			((FichaDMed) fichaB).setHanseniase(new Integer(chk_ham));

			
			((FichaDMed) fichaB).setTuberculose_caso_novo(new Integer(chk_tuberculose_novo));
			((FichaDMed) fichaB).setTuberculose_acompanhamento(new Integer(chk_tuberculose_acompanhamento));			
			((FichaDMed) fichaB).setTuberculose_alta_admin(new Integer(chk_tuberculose_alta_admin));			
			((FichaDMed) fichaB).setTuberculo_alta_supervisionada(new Integer(chk_tuberculose_alta_super));
			

			((FichaDMed) fichaB).setMulher(new Integer(chk_mulher));			



			
			((FichaDMed) fichaB).setForn_diafragma(new Integer(chk_fornec_diagragma));
			((FichaDMed) fichaB).setForn_diafragma(new Integer(chk_diu));
			((FichaDMed) fichaB).setUrg_bas(new Integer(chk_urgencia_basica_remocao));
			((FichaDMed) fichaB).setUrg_basicas(new Integer(chk_urgencia_basica));
			((FichaDMed) fichaB).setUrg_bas_observacao(new Integer(chk_urgencia_basica_observacao));
			
			((FichaDMed) fichaB).setPuerperio(new Integer(chk_puerperio));
			((FichaDMed) fichaB).setConsulta_domiciliar(new Integer(chk_consulta_domiciliar));
			((FichaDMed) fichaB).setOutros_tipos(new Integer(chk_outros));


			((FichaDMed) fichaB).setPatologia_clinica(new Integer(chk_patologia_clinica));
			((FichaDMed) fichaB).setCitopat_vaginal(new Integer(chk_citopatologia_vaginal));
			((FichaDMed) fichaB).setUltrassom_obstetrico(new Integer(chk_ultrasson));
			((FichaDMed) fichaB).setOutros_exames(new Integer(chk_outros_exames));

			
			((FichaDMed) fichaB).setAtendimento_especializado(new Integer(chk_atend_especializado));
			((FichaDMed) fichaB).setInternacao_hospitalar(new Integer(chk_internacao_hospitalar));
			((FichaDMed) fichaB).setUrgencia_emergencia(new Integer(chk_urgencia_emergencia));
			
			
			((FichaDMed) fichaB).setPneumonia_menor5(new Integer(chkpneumonia_menor_5));
			((FichaDMed) fichaB).setValvulopatia_reum(new Integer(chk_valvulopatia));
			((FichaDMed) fichaB).setInfarto_agudo(new Integer(chk_infarto_agudo));
			((FichaDMed) fichaB).setDheg(new Integer(chk_dheg));
			((FichaDMed) fichaB).setDoenca_perinatal(new Integer(chk_doenca_perinatal));
			((FichaDMed) fichaB).setFratura_femur_50(new Integer(chk_fratura_menor_50));
			((FichaDMed) fichaB).setMeningite_tuberculosa(new Integer(chk_meningite_tuberculosa));
			((FichaDMed) fichaB).setHanseniase_incapac(new Integer(chk_hanseniase_incapacidade));
			((FichaDMed) fichaB).setCitologia_onc(new Integer(chk_citologia));
		}
		
			else if (fichaB instanceof FichaBGES) {
			fichaB = new FichaBGES();

			String dt_ultimda_regra = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_ULTIMDA_REGRA));
			String dt_provavel_parto = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_PROVAVEL_PARTO));
			String data_vacina_dose1 = cursor.getString(cursor.getColumnIndex(FichaBGES.DATA_VACINA_DOSE1));
			String data_vacina_dose2 = cursor.getString(cursor.getColumnIndex(FichaBGES.DATA_VACINA_DOSE2));
			String data_vacina_dose3 = cursor.getString(cursor.getColumnIndex(FichaBGES.DATA_VACINA_DOSE3));
			String data_vacina_doser = cursor.getString(cursor.getColumnIndex(FichaBGES.DATA_VACINA_DOSER));
			String estado_nutricional_mes1 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES1));
			String estado_nutricional_mes2 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES2));
			String estado_nutricional_mes3 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES3));
			String estado_nutricional_mes4 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES4));
			String estado_nutricional_mes5 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES5));
			String estado_nutricional_mes6 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES6));
			String estado_nutricional_mes7 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES7));
			String estado_nutricional_mes8 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES8));
			String estado_nutricional_mes9 = cursor.getString(cursor.getColumnIndex(FichaBGES.ESTADO_NUTRICIONAL_MES9));
			String dt_consulta_prenatal_mes1 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES1));
			String dt_consulta_prenatal_mes2 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES2));
			String dt_consulta_prenatal_mes3 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES3));
			String dt_consulta_prenatal_mes4 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES4));
			String dt_consulta_prenatal_mes5 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES5));
			String dt_consulta_prenatal_mes6 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES6));
			String dt_consulta_prenatal_mes7 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES7));
			String dt_consulta_prenatal_mes8 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES8));
			String dt_consulta_prenatal_mes9 = cursor.getString(cursor.getColumnIndex(FichaBGES.DT_CONSULTA_PRENATAL_MES9));
			String fat_risco_6_gestacoes = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_6_GESTACOES));
			String fat_risco_36anos = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_36ANOS));
			String fat_risco_20anos = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_20ANOS));
			String fat_risco_diabetes = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_DIABETES));
			String fat_risco_edema = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_EDEMA));
			String fat_risco_natimorto_aborto = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_NATIMORTO_ABORTO));
			String fat_risco_pressao_alta = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_PRESSAO_ALTA));
			String fat_risco_sangramento = cursor.getString(cursor.getColumnIndex(FichaBGES.FAT_RISCO_SANGRAMENTO));
			String local_parto = cursor.getString(cursor.getColumnIndex(FichaBGES.LOCAL_PARTO));
			String data_cons_puerperio1 = cursor.getString(cursor.getColumnIndex(FichaBGES.DATA_CONS_PUERPERIO1));
			String data_cons_puerperio2 = cursor.getString(cursor.getColumnIndex(FichaBGES.DATA_CONS_PUERPERIO2));
			String res_get = cursor.getString(cursor.getColumnIndex(FichaBGES.RES_GET));

			((FichaBGES) fichaB).setDt_ultimda_regra(dt_ultimda_regra);
			((FichaBGES) fichaB).setDt_provavel_parto(dt_provavel_parto);
			((FichaBGES) fichaB).setData_vacina_dose1(data_vacina_dose1);
			((FichaBGES) fichaB).setData_vacina_dose2(data_vacina_dose2);
			((FichaBGES) fichaB).setData_vacina_dose3(data_vacina_dose3);
			((FichaBGES) fichaB).setData_vacina_doser(data_vacina_doser);
			((FichaBGES) fichaB).setEstado_nutricional_mes1(estado_nutricional_mes1);
			((FichaBGES) fichaB).setEstado_nutricional_mes2(estado_nutricional_mes2);
			((FichaBGES) fichaB).setEstado_nutricional_mes3(estado_nutricional_mes3);
			((FichaBGES) fichaB).setEstado_nutricional_mes4(estado_nutricional_mes4);
			((FichaBGES) fichaB).setEstado_nutricional_mes5(estado_nutricional_mes5);
			((FichaBGES) fichaB).setEstado_nutricional_mes6(estado_nutricional_mes6);
			((FichaBGES) fichaB).setEstado_nutricional_mes7(estado_nutricional_mes7);
			((FichaBGES) fichaB).setEstado_nutricional_mes8(estado_nutricional_mes8);
			((FichaBGES) fichaB).setEstado_nutricional_mes9(estado_nutricional_mes9);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes1(dt_consulta_prenatal_mes1);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes2(dt_consulta_prenatal_mes2);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes3(dt_consulta_prenatal_mes3);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes4(dt_consulta_prenatal_mes4);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes5(dt_consulta_prenatal_mes5);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes6(dt_consulta_prenatal_mes6);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes7(dt_consulta_prenatal_mes7);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes8(dt_consulta_prenatal_mes8);
			((FichaBGES) fichaB).setDt_consulta_prenatal_mes9(dt_consulta_prenatal_mes9);
			((FichaBGES) fichaB).setFat_risco_20anos(fat_risco_20anos);
			((FichaBGES) fichaB).setFat_risco_36anos(fat_risco_36anos);
			((FichaBGES) fichaB).setFat_risco_6_gestacoes(fat_risco_6_gestacoes);
			((FichaBGES) fichaB).setFat_risco_diabetes(fat_risco_diabetes);
			((FichaBGES) fichaB).setFat_risco_edema(fat_risco_edema);
			((FichaBGES) fichaB).setFat_risco_natimorto_aborto(fat_risco_natimorto_aborto);
			((FichaBGES) fichaB).setFat_risco_pressao_alta(fat_risco_pressao_alta);
			((FichaBGES) fichaB).setFat_risco_sangramento(fat_risco_sangramento);
			((FichaBGES) fichaB).setLocal_parto(local_parto);
			((FichaBGES) fichaB).setData_cons_puerperio1(data_cons_puerperio1);
			((FichaBGES) fichaB).setData_cons_puerperio2(data_cons_puerperio2);
			((FichaBGES) fichaB).setRes_get(res_get);
		}

		Integer id = cursor.getInt(cursor.getColumnIndex(FichaB.ID));
		Integer id_fichaa = cursor.getInt(cursor.getColumnIndex(FichaB.ID_FICHAA));
		Integer id_paciente = cursor.getInt(cursor.getColumnIndex(FichaB.ID_PACIENTE));

		fichaB.setId(id);
		fichaB.setId_fichaA(id_fichaa);
		fichaB.setId_paciente(id_paciente);

		return (T)fichaB;
	}

	private void selectContent(Object[] contents, FichaB fichaB) {
		int i = 6;
		if (fichaB instanceof FichaBCOMPATEGRU) {
			contents[i++] = FichaBCOMPATEGRU.ID_PROFISSIONAL;
			contents[i++] = ((FichaBCOMPATEGRU) fichaB).getId_profissional();
			contents[i++] = FichaBCOMPATEGRU.ID_ACS;
			contents[i++] = ((FichaBCOMPATEGRU) fichaB).getId_acs();
			contents[i++] = FichaBCOMPATEGRU.LOCAL;
			contents[i++] = ((FichaBCOMPATEGRU) fichaB).getLocal();
			contents[i++] = FichaBCOMPATEGRU.ASSUNTO;
			contents[i++] = ((FichaBCOMPATEGRU) fichaB).getAssunto();
		} else if (fichaB instanceof FichaBCOMPMATR) {
			contents[i++] = FichaBCOMPMATR.ID_PROFISSIONAL;
			contents[i++] = ((FichaBCOMPMATR) fichaB).getId_profissional();
			contents[i++] = FichaBCOMPMATR.TIPO_REF1;
			contents[i++] = ((FichaBCOMPMATR) fichaB).getTipo_ref1();
			contents[i++] = FichaBCOMPMATR.TIPO_REF2;
			contents[i++] = ((FichaBCOMPMATR) fichaB).getTipo_ref2();
			contents[i++] = FichaBCOMPMATR.MOTIVO;
			contents[i++] = ((FichaBCOMPMATR) fichaB).getMotivo();
			contents[i++] = FichaBCOMPMATR.PRIORIDADE;
			contents[i++] = ((FichaBCOMPMATR) fichaB).getPrioridade();
		} else if (fichaB instanceof FichaBDIA) {
			contents[i++] = FichaBDIA.DIETA;
			contents[i++] = ((FichaBDIA) fichaB).getDieta();
			contents[i++] = FichaBDIA.EXERCICIOS;
			contents[i++] = ((FichaBDIA) fichaB).getExercicios();
			contents[i++] = FichaBDIA.INSULINA;
			contents[i++] = ((FichaBDIA) fichaB).getInsulina();
			contents[i++] = FichaBDIA.HIPOGLICEMIANTE;
			contents[i++] = ((FichaBDIA) fichaB).getHipoglicemiante();
			contents[i++] = FichaBDIA.DT_ULTIMACONSULTA;
			contents[i++] = ((FichaBDIA) fichaB).getDt_ultimaconsulta();
			contents[i++] = FichaBDIA.DATA_CADASTRO;
			contents[i++] = ((FichaBDIA) fichaB).getData_cadastro();
		} else if (fichaB instanceof FichaBHA) {
			contents[i++] = FichaBHA.DIETA;
			contents[i++] = ((FichaBHA) fichaB).getDieta();
			contents[i++] = FichaBHA.MEDICACAO;
			contents[i++] = ((FichaBHA) fichaB).getMedicacao();
			contents[i++] = FichaBHA.EXERCICIOS;
			contents[i++] = ((FichaBHA) fichaB).getExercicios();
			contents[i++] = FichaBHA.PRESSAO_ARTERIAL;
			contents[i++] = ((FichaBHA) fichaB).getPressao_arterial();
			contents[i++] = FichaBHA.DATA_CONSULTA;
			contents[i++] = ((FichaBHA) fichaB).getData_consulta();
			contents[i++] = FichaBHA.DATA_CADASTRO;
			contents[i++] = ((FichaBHA) fichaB).getData_cadastro();
		} else if (fichaB instanceof FichaBHAN) {
			contents[i++] = FichaBHAN.MEDICACAO_DIARIA;
			contents[i++] = ((FichaBHAN) fichaB).getMedicacao_diaria();
			contents[i++] = FichaBHAN.DT_DOSE_SUPERVISIONADA;
			contents[i++] = ((FichaBHAN) fichaB).getDt_dose_supervisionada();
			contents[i++] = FichaBHAN.AUTO_CUIDADOS;
			contents[i++] = ((FichaBHAN) fichaB).getAuto_cuidados();
			contents[i++] = FichaBHAN.DT_ULTIMA_CONSULTA;
			contents[i++] = ((FichaBHAN) fichaB).getDt_ultima_consulta();
			contents[i++] = FichaBHAN.COMUNICANTES;
			contents[i++] = ((FichaBHAN) fichaB).getComunicantes();
			contents[i++] = FichaBHAN.COMUNICANTES_BCG;
			contents[i++] = ((FichaBHAN) fichaB).getComunicantes_bcg();
		} else if (fichaB instanceof FichaBINT) {
			contents[i++] = FichaBINT.DATA_INICIO;
			contents[i++] = ((FichaBINT) fichaB).getData_inicio();
			contents[i++] = FichaBINT.DATA_FIM;
			contents[i++] = ((FichaBINT) fichaB).getData_fim();
			contents[i++] = FichaBINT.DIAS_INTER;
			contents[i++] = ((FichaBINT) fichaB).getDias_inter();
			contents[i++] = FichaBINT.PERMANECE;
			contents[i++] = ((FichaBINT) fichaB).getPermanece();
			contents[i++] = FichaBINT.LOCAL;
			contents[i++] = ((FichaBINT) fichaB).getLocal();
			contents[i++] = FichaBINT.CIDADE;
			contents[i++] = ((FichaBINT) fichaB).getCidade();
			contents[i++] = FichaBINT.CAUSA_INTER;
			contents[i++] = ((FichaBINT) fichaB).getCausa_inter();
		} else if (fichaB instanceof FichaBOBI) {
			contents[i++] = FichaBOBI.DATA;
			contents[i++] = ((FichaBOBI) fichaB).getData();
			contents[i++] = FichaBOBI.LOCAL;
			contents[i++] = ((FichaBOBI) fichaB).getLocal();
			contents[i++] = FichaBOBI.CAUSA;
			contents[i++] = ((FichaBOBI) fichaB).getCausa();
			contents[i++] = FichaBOBI.N_DECLARACAO;
			contents[i++] = ((FichaBOBI) fichaB).getN_declaracao();
			
		} else if (fichaB instanceof FichaBCrianca) {

			contents[i++] = FichaBCrianca.ALEITAMENTO;
			contents[i++] = ((FichaBCrianca) fichaB).getAleitamento();
			contents[i++] = FichaBCrianca.DATA_CONSULTA;
			contents[i++] = ((FichaBCrianca) fichaB).getData_consulta();
			contents[i++] = FichaBCrianca.DIARREIA_TRO;
			contents[i++] = ((FichaBCrianca) fichaB).getDiarreia_tro();
			contents[i++] = FichaBCrianca.DIARREITA;
			contents[i++] = ((FichaBCrianca) fichaB).getDiarreia();
			contents[i++] = FichaBCrianca.IDADE;
			contents[i++] = ((FichaBCrianca) fichaB).getIdade();
			contents[i++] = FichaBCrianca.OUTROS_TIPOS_ALIMENTO;
			contents[i++] = ((FichaBCrianca) fichaB).getOutros_tipo_alimento();
			contents[i++] = FichaBCrianca.PESO;
			contents[i++] = ((FichaBCrianca) fichaB).getPeso();


		}else if (fichaB instanceof FichaBDIA) {

			contents[i++] = FichaBDIA.DIETA;
			contents[i++] = ((FichaBDIA) fichaB).getDieta();
			contents[i++] = FichaBDIA.DT_ULTIMACONSULTA;
			contents[i++] = ((FichaBDIA) fichaB).getDt_ultimaconsulta();
			contents[i++] = FichaBDIA.EXERCICIOS;
			contents[i++] = ((FichaBDIA) fichaB).getExercicios();
			contents[i++] = FichaBDIA.INSULINA;
			contents[i++] = ((FichaBDIA) fichaB).getInsulina();
			contents[i++] = FichaBDIA.HIPOGLICEMIANTE;
			contents[i++] = ((FichaBDIA) fichaB).getHipoglicemiante();
			
		}  else if (fichaB instanceof FichaBPRR) {
			contents[i++] = FichaBPRR.ID_PROFISSIONAL;
			contents[i++] = ((FichaBPRR) fichaB).getId_profissional();
			contents[i++] = FichaBPRR.COMPARTILHADA;
			contents[i++] = ((FichaBPRR) fichaB).getCompartilhada();
			contents[i++] = FichaBPRR.ID_PROF_COMP;
			contents[i++] = ((FichaBPRR) fichaB).getId_prof_comp();
			contents[i++] = FichaBPRR.DIAGNOSTICOP;
			contents[i++] = ((FichaBPRR) fichaB).getDiagnosticop();
			contents[i++] = FichaBPRR.DIAGNOSTICOS;
			contents[i++] = ((FichaBPRR) fichaB).getDiagnosticos();
			contents[i++] = FichaBPRR.PROCEDIMENTOS;
			contents[i++] = ((FichaBPRR) fichaB).getProcedimentos();
			contents[i++] = FichaBPRR.DADOS_COMPL;
			contents[i++] = ((FichaBPRR) fichaB).getDados_compl();
		} else if (fichaB instanceof FichaBTP) {
			contents[i++] = FichaBTP.MEDICAOCAO_DIARIA;
			contents[i++] = ((FichaBTP) fichaB).getMedicaocao_diaria();
			contents[i++] = FichaBTP.REACOES_INDESEJAVEIS;
			contents[i++] = ((FichaBTP) fichaB).getReacoes_indesejaveis();
			contents[i++] = FichaBTP.DT_ULTIMA_CONSULTA;
			contents[i++] = ((FichaBTP) fichaB).getDt_ultima_consulta();
			contents[i++] = FichaBTP.ESCARRO;
			contents[i++] = ((FichaBTP) fichaB).getEscarro();
			contents[i++] = FichaBTP.COMUNICANTES;
			contents[i++] = ((FichaBTP) fichaB).getComunicantes();
			contents[i++] = FichaBTP.COMUNICANTES_5ANOS;
			contents[i++] = ((FichaBTP) fichaB).getComunicantes_5anos();
		} else if (fichaB instanceof FichaBGES) {
			contents[i++] = FichaBGES.DT_ULTIMDA_REGRA;
			contents[i++] = ((FichaBGES) fichaB).getDt_ultimda_regra();
			contents[i++] = FichaBGES.DT_PROVAVEL_PARTO;
			contents[i++] = ((FichaBGES) fichaB).getDt_provavel_parto();
			contents[i++] = FichaBGES.DATA_VACINA_DOSE1;
			contents[i++] = ((FichaBGES) fichaB).getData_vacina_dose1();
			contents[i++] = FichaBGES.DATA_VACINA_DOSE2;
			contents[i++] = ((FichaBGES) fichaB).getData_vacina_dose2();
			contents[i++] = FichaBGES.DATA_VACINA_DOSE3;
			contents[i++] = ((FichaBGES) fichaB).getData_vacina_dose3();
			contents[i++] = FichaBGES.DATA_VACINA_DOSER;
			contents[i++] = ((FichaBGES) fichaB).getData_vacina_doser();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES1;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes1();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES2;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes2();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES3;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes3();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES4;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes4();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES5;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes5();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES6;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes6();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES7;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes7();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES8;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes8();
			contents[i++] = FichaBGES.ESTADO_NUTRICIONAL_MES9;
			contents[i++] = ((FichaBGES) fichaB).getEstado_nutricional_mes9();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES1;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes1();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES2;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes2();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES3;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes3();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES4;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes4();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES5;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes5();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES6;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes6();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES7;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes7();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES8;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes8();
			contents[i++] = FichaBGES.DT_CONSULTA_PRENATAL_MES9;
			contents[i++] = ((FichaBGES) fichaB).getDt_consulta_prenatal_mes9();
			contents[i++] = FichaBGES.FAT_RISCO_6_GESTACOES;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_6_gestacoes();
			contents[i++] = FichaBGES.FAT_RISCO_36ANOS;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_36anos();
			contents[i++] = FichaBGES.FAT_RISCO_20ANOS;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_20anos();
			contents[i++] = FichaBGES.FAT_RISCO_DIABETES;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_diabetes();
			contents[i++] = FichaBGES.FAT_RISCO_EDEMA;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_edema();
			contents[i++] = FichaBGES.FAT_RISCO_NATIMORTO_ABORTO;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_natimorto_aborto();
			contents[i++] = FichaBGES.FAT_RISCO_PRESSAO_ALTA;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_pressao_alta();
			contents[i++] = FichaBGES.FAT_RISCO_SANGRAMENTO;
			contents[i++] = ((FichaBGES) fichaB).getFat_risco_sangramento();
			contents[i++] = FichaBGES.LOCAL_PARTO;
			contents[i++] = ((FichaBGES) fichaB).getLocal_parto();
			contents[i++] = FichaBGES.DATA_CONS_PUERPERIO1;
			contents[i++] = ((FichaBGES) fichaB).getData_cons_puerperio1();
			contents[i++] = FichaBGES.DATA_CONS_PUERPERIO2;
			contents[i++] = ((FichaBGES) fichaB).getData_cons_puerperio2();
			contents[i++] = FichaBGES.RES_GET;
			contents[i++] = ((FichaBGES) fichaB).getRes_get();
		}
	}

}
